This chapter presents the requirements and recommendations for standard input devices and connections under the Microsoft Windows family of operating systems.Contents
This section presents the key design issues for input components under Microsoft Windows.
These are the key issues for input devices for PC 97:
USB support is required for PC 97 systems. If USB is implemented as the connection for any input device, the device must support the USB Human Input Device Class Specification.
Non-USB input devices that provide hardware acceleration should expose these features in their device drivers, so that these capabilities can be used to advantage in applications that use Microsoft DirectX features.
This section summarizes the requirements for specific input components for PC 97 system designs.
For a mobile PC system, the required USB port can be used to support the requirement for external mouse and keyboard connections. However, two PS/2-style ports can be implemented for the mouse and keyboard, or a single PS/2-style port can be provided for both the mouse or keyboard on a mobile PC.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required | Required | Required |
Recommended: USB. This connection can also be implemented as a PS/2-style port or by using wireless capabilities in the system. For mobile PC systems, a single PS/2-style port can be provided for use by either the mouse or keyboard.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Required | Required | Required |
Recommended: USB or wireless. This connection can also be implemented using a PS/2-style port in the system.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Recommended |
An infrared or radio-frequency (RF) remote-control device included with a PC system must meet the requirements defined in the "Mouse Port and Peripherals" section in this chapter and the requirements in the "Serial, Parallel, and Wireless Support" chapter in Part 4 of this guide.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
Recommended | Recommended | Required |
Recommended: Wireless for Entertainment PC 97.
This device must support the USB Human Input Device Class Specification. For more information about requirements for USB peripherals, see the "USB" chapter in Part 3 of this guide.
Note For PC 97, the recommended solution for game control input devices is to provide devices that use a USB connection rather than a proprietary or traditional game port. This is the required implementation for Entertainment PC 97.
An input device that uses a traditional or proprietary digital game port solution is not recommended for PC 97 systems and not allowed for Entertainment PC 97, because there are no defined standards for digital game ports, some digital game port designs are incompatible with some devices, and traditional game ports impose performance limitations on high-speed processors.
However, it is recognized that some legacy implementations include traditional or proprietary game port capabilities (this includes providing a MIDI port that can be used as a game control port). A system designer might choose to include such a port on a PC 97 system to allow users to connect their legacy devices. For information about PC 97 requirements related to such legacy ports, see "Legacy Game Control Port Requirements" later in this chapter.
This section summarizes requirements related to the design initiatives for PC 97 defined in Part 1 of this guide.
The items in this section are requirements for Plug and Play capabilities.
Required |
Required |
The operating system must be capable of automatically assigning, disabling, and relocating the resources used by this device when necessary, using the method required for the related bus class. Changing or adding this device to the PC system must not require changing jumpers or switches on either the adapter or the system board. In the event of an irreconcilable conflict with other devices, the operating system must be able to disable the device to prevent the system from stalling.
If there is a conflict when more than one device of the same type is detected on the system, one of two methods can be used to resolve them:
Note Fixed (static) resource devices can exist to support standard devices, including the keyboard controller (8042). For an x86-based system, these fixed resources are located at I/O addresses under 100h. Standard system board devices should use their ISA-compatible addresses. For x86-based systems, this includes devices with I/O port addresses within the reserved range 0h through 0ffh. For more information about legacy resources and ISA-compatible addresses, see Appendix D, "Legacy I/O Assignments."
This section summarizes the specific power management requirements for input devices.
Required |
The "Device Class Power Management Reference Specification" for input devices provides definitions of the OnNow device power states (D0 - D3) for these devices. The specification also covers device functionality expected in each power state and the possible Wakeup event definitions for the class. Power states D0 and D3 are required. Other power states are recommended.
Optional |
For PC 97, the ability to cause a Wakeup event as defined in the "Device Class Power Management Reference Specification" for input devices is an optional feature.
This section summarizes requirements for device drivers for input devices. The items in this section are requirements for all PC 97 systems.
Required |
The manufacturer does not need to supply a driver if a standard driver provided with the operating system can be used. If the manufacturer supplies drivers, the requirements include the following:
For input devices in PC 97, the correct Win32 Driver Model (WDM) minidriver or USB Human Input Device driver plus other WDM-compatible drivers and any other files specified in the device's INF must be installed in the correct locations.
For complete details about standard installation requirements for drivers, see "Basic PC 97" in Part 2 of this guide.
This section defines the specific requirements for pointing device connections and peripherals. Because the Windows operating system requires a pointing device, a system board in a PC 97 system should include an auxiliary port for an external pointing device (most commonly, a mouse). For PC 97, it is recommended that systems designers use the USB port for the connection and also consider implementing wireless support for an external pointing device.
Required |
These include the standard requirements for a Plug and Play device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information, see the "Basic PC 97" chapter of this guide.
Required |
The following requirements must be met if a PS/2-style port is used:
Required |
This device must comply with the Universal Serial Bus Specification v. 1.0 or higher, and the related USB device class specification. This ensures that all Plug and Play requirements are met and that Microsoft drivers support this device. For more information, see the "USB" chapter in Part 3 of this guide.
Required |
An infrared device must support IrDA codes and all other requirements specified in the IrDA specification.
Recommended |
Numerous consumer electronics remote controls use proprietary RF communications protocols to provide low-cost, one-way remote control functionality, often at relatively great distances (up to 10 meters).
For more information about support and standards being developed at Microsoft for RF devices, see http://www.microsoft.com/hwdev/devdes/.
Recommended |
The range of functions implemented on the remote control device will depend on whether the remote control is designed for the business desktop or for Entertainment PC 97 use. There is no defined list of the functions that must be included on a remote control device, but such a device might provide the following types of functions and buttons:
The following functions and buttons can also be considered for a remote control used with an Entertainment PC 97 system:
The primary input component for a PC is the keyboard. The keyboard connection on the system board has traditionally been controlled by an 8042 microcontroller or the equivalent. However, for PC 97, USB connections and wireless connections are important design considerations for PC keyboard connections. Also, these design requirements do not exclude (but do not encourage) implementing a legacy AT-style keyboard port.
This section summarizes the specific hardware features required for PC 97 keyboard ports and peripherals. Some keyboard port requirements differ, depending on what type of port is being used.
Required |
These include the standard requirements for a Plug and Play device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information, see the "Basic PC 97" chapter of this guide.
Required |
If a PS/2-style keyboard port is designed into the system, it must meet the following requirements:
Required |
This device must comply with the Universal Serial Bus Specification (v. 1.0 or higher) and the related USB device class specification. This ensures that all Plug and Play requirements are met and Microsoft drivers support this device. For information, see the "USB" chapter in Part 3 of this guide. The keyboard must also support the USB Human Input Device Class Specification.
If a USB keyboard is the sole keyboard implementation in the system, it must support the USB Boot Device specification, and the system BIOS must provide boot support, as specified in "Basic PC 97" in Part 2 of this guide and defined in "Universal Serial Bus PC Legacy Compatibility Specification," v. 1.0 or higher, available from http://www.teleport.com/~usb/data/usb_le9.pdf.
Required |
An IR device must support IrDA codes and all other requirements specified in the IrDA specification.
Required |
This includes send identifier (0F2h), response: ACK (0FAh) + 2-byte ID.
Required |
For example, when a mobile PC is connected to a docking station, more than one keyboard can be attached to the system simultaneously. The keyboard ports on a mobile PC and the docking station must be able to resolve conflicts between the two ports when the mobile unit is docked. Windows supports multiple configurations through the registry and will determine which keyboard to enable.
For more information about managing resources and devices for a mobile PC and docking station pair, see the "Basic PC 97" chapter in Part 2 of this guide.
Recommended |
If the keyboard includes any Windows Logo keys, it must meet the following requirements:
The following are recommendations if a keyboard design includes any Windows Logo keys:
This section presents the minimum requirements for game control devices such as game pads for PC 97.
USB is a required port and is the recommended PC 97 solution for game input devices such as game pads, phasing out the standard DB15 game port. A proprietary "digital" game port on a PC 97 system is not recommended, because some digital joystick devices work only in analog mode with proprietary digital ports.
Required |
These include the standard requirements for a Plug and Play device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information, see the "Basic PC 97" chapter of this guide.
Required |
PC 97 game control devices and drivers must support the USB Human Input Device Class Specification v. 1.0 or higher.
This section defines the minimum requirements for a legacy game control port that might be included on the system board, in an add-on card such as an audio card, or as a standalone add-on device.
For PC 97, the recommended solution for game control input devices is to provide devices that use a USB connection rather than a proprietary or traditional game port. Game controls that use traditional game ports are not acceptable solutions for PC 97, because these legacy ports impose performance limitations on highspeed processors and do not completely support Plug and Play.
However, a legacy game port can be included on a multifunction card or in a PC 97 system if the system designer wants to allow users to connect their existing legacy game control devices. In order to be eligible for the "Designed for Microsoft Windows" logo, a device or PC system that includes a legacy game port must meet the requirements defined in this section.
Required |
Although it is recognized that traditional game devices do not support Plug and Play, for PC 97 it is required that the device use software-only settings for device configuration, standard device drivers, and Windows-based installation. For more information about general device requirements, see the "Basic PC 97" chapter of this guide.
Required |
If a game port uses a bus such as PCI or ISA, the port must fully comply with the specifications for the bus where it is installed. If the game port is implemented as a PCI device, it must meet all the PCI 2.1 requirements for PC 97 as defined in the "PCI" chapter in Part 3 of this guide.
Required |
For devices that use expansion buses such as ISA, the following minimum resource configuration requirements must be met:
Notice that, as for all ISA devices, ISA IRQ sharing is required if the minimum resource requirement cannot be met.
Required |
The device driver for Windows 95 must not replace Microsoft VxDs and joystick drivers, and it must be compliant with the Windows 95 driver requirements for installable device drivers, as defined in the Windows 95 DDK.
Required |
The upper edge of the device driver must support DirectInput 3.0 or higher, as defined in the Windows 95 DDK.
Required |
Some legacy multifunction cards use a MIDI port as a game control port. If a MIDI port is implemented in the PC system, it must use the pin-12 and pin-15 standard and Transistor-Transistor Logic (TTL) level used in Sound Blaster-compatible designs.
Required |
The port must work unmodified with driver files provided with the Windows operating system.
Required |
If a game port is implemented as a proprietary port instead of the recommended PC 97 implementation for USB, the port must meet the following requirements:
The user must be able to go directly from installation, select the new game device from the Control Panel (or have it auto-selected by way of an installation disk), and then be available for use with any Windows 95-based game. If the device is provided with applications that require a reboot, the installation program must notify the user at the end of installation that these applications require a reboot. The installation program must then give the user the option of rebooting or returning to Windows 95.
This section lists some of the publications, services, and tools available to help build hardware that works with Windows operating systems.
Device Class Power Management Reference Specification
http://www.microsoft.com/hwdev/onnow.htm
Plug and Play specifications
http://www.microsoft.com/hwdev/pnpspecs.htm
Windows 95 DDK, Windows NT DDK, DirectX DDK
MSDN Professional Membership
IBM Personal System/2 Common Interfaces, Part No. S84F-9809
IBM Personal System/2 Mouse Technical Reference, Part No.
S68X-2229
International Business Machines Corporation
IBM Customer Publications Support: (800) 879-275
Or contact an IBM sales representative
Infrared Data Association Serial Infrared (SIR) Physical Layer Specification
Available only to IrDA members:
Infrared Data Association (IrDA)
P. O. Box 3883
Walnut Creek, CA 94598 USA
Phone: (510) 943-6546
Fax: (510) 943-5600
E-mail: irda@netcom.com
New Key Support for Microsoft Windows Operating Systems and Applications
Newkeys.zip (self-extracting zip file)
ftp://ftp.microsoft.com/PerOpSys/Win_News
Windows Logo Key testing software, documentation, and license agreement
http://www.microsoft.com/hwtest
The license agreement can be obtained using the fax-back service:
(206) 635-2222 - request document 859.
Basic PC 97 | Workstation PC 97 | Entertainment PC 97 |
System Requirements for Input Components | ||
---|---|---|
1. External connection for keyboard | ||
Required | Required | Required |
2. External connection for pointing device | ||
Required | Required | Required |
3. Wireless capabilities | ||
Recommended | Recommended | Recommended |
4. USB game pad or joystick | ||
Recommended | Recommended | Required |
PC 97 Design for Input Devices | ||
Plug and Play and Bus Design for Input Devices | ||
5. Plug and Play device identifier | ||
Required | ||
6. Automatic resource assignment and dynamic disable capabilities | ||
Required | ||
Power Management for Input Devices | ||
7. Compliance with "Device Class Power Management Reference Specification" for input devices | ||
Required | ||
8. Support Wakeup Events defined in "Device Class Power Management Reference Specification" | ||
Optional | ||
Device Drivers and Installation for Input Devices | ||
9. Device driver and installation meet Windows and Windows NT standards | ||
Required | ||
Mouse Port and Peripherals | ||
10. General device requirements | ||
Required | ||
11. PS/2 port specifications, if PS/2-style port is used | ||
Required | ||
12. USB Specification and device class specifications, if USB is used | ||
Required | ||
13. IR wireless specifications, if IR device is used | ||
Required | ||
14. RF wireless specifications, if RF wireless device is used | ||
Recommended | ||
15. Remote control provides minimum support, if present | ||
Recommended | ||
Keyboard Ports and Peripherals | ||
16. General device requirements | ||
Required | ||
17. PS/2 specifications by IBM and 8042 chip (or equivalent), if PS/2 used | ||
Required | ||
18. USB Specification and USB device class specification, if USB is used | ||
Required | ||
19. Wireless specifications, if wireless device is used | ||
Required | ||
20. PS/2- style keyboard returns expected scan codes | ||
Required | ||
21. No interference between keyboards for multiple devices | ||
Required | ||
22. Windows and Application Logo keys | ||
Recommended | ||
PC 97 Game Pad Requirements | ||
23. General device requirements | ||
Required | ||
24. USB Human Input Device Class Specification support | ||
Required | ||
Legacy Game Control Port Requirements | ||
25. General device requirements | ||
Required | ||
26. Legacy game port complies with bus and device-class specifications | ||
Required | ||
27. Resource arbitration for non-PCI game port devices | ||
Required | ||
28. Device driver meets Windows 95 driver requirements | ||
Required | ||
29. Device driver for non-USB device supports DirectInput 3.0 APIs | ||
Required | ||
30. MIDI-compatible legacy port uses Sound Blaster pin-out | ||
Required | ||
31. Legacy game port works with Windows-supplied drivers | ||
Required | ||
32. If present, proprietary port meets PC 97 requirements | ||
Required | ||